'''
不同操作系统下有所限制。
满足以下条件之一
MacOS下：
1.需要以root权限运行
如果无法以root权限运行程序，则需要将程序添加到辅助功能中
2.需要在「设置」->「安全性与隐私」->「隐私」->「辅助功能」，将Python程序打包，然后将打包的程序添加到辅助功能中
'''

from pynput import keyboard

def on_press(key):
    try:
        print(f'{key.char}字母键被按下')
    except AttributeError as e: # 属性错误
        print(f'{key}特殊键被按下')

def on_release(key):
    print(f'{key}键被释放')
    if key == keyboard.Key.esc:
        # 结束程序
        return False

with keyboard.Listener(on_press=on_press,
                       on_release=on_release) as listener:
    listener.join()

# listener = keyboard.Listener(
#     on_press=on_press,
#     on_release=on_release
# )
# # 开启键盘监听线程
# listener.start()